package newx.com.control
{
	import flash.display.MovieClip;

	/**
	 * NxViewGroup 的借口，构造函数为空。用于创建多行多列的显示对象阵列。
	 * @author wangjun
	 * 
	 */	
	public interface IViewGroup extends IControl
	{
		/**
		 * 设置（获取）当前控件一列有多少行，默认0；
		 * */
		function get row():uint;		
		function set row(val:uint):void;
		
		/**
		 * 设置（获取）当前控件一行有多少对象，默认0；
		 * */
		function get col():uint;		
		function set col(val:uint):void;
		
		/**
		 * 设置（获取）显示单元对象的绑定类名，
		 * 用于创建显示对象组中的显示对象单元
		 * */
		function get viewSkin():String;		
		function set viewSkin(val:String):void;
		
		/**
		 * 设置（获取）显示单元格x方向的整体偏移量 
		 * @return 
		 * 
		 */		
		function get offsetX():int;
		function set offsetX(value:int):void;
		
		/**
		 * 设置（获取）显示单元格y方向的整体偏移量 
		 * @return 
		 * 
		 */
		function get offsetY():int;
		function set offsetY(value:int):void;
		
		/**
		 * 设置（获取）显示单元格之间的行间距
		 * @return 
		 * 
		 */
		function get offsetRow():int;
		function set offsetRow(value:int):void;
		
		/**
		 * 设置（获取）显示单元格之间的列间距
		 * @return 
		 * 
		 */
		function get offsetCol():int;
		function set offsetCol(value:int):void;
				
		/**
		 * 根据索引获取ViewGroup中的某一显示对象
		 * @param index
		 * @return 
		 * 
		 */		
		function getItemByIndex(index:uint):MovieClip;
		
		/**
		 * 根据行列获取ViewGroup中的某一显示对象
		 * @param row 行
		 * @param col 列
		 * @return 
		 * 
		 */		
		function getItem(row:uint,col:uint):MovieClip;
		
		/**
		 * 遍历当前控件中是显示对象单元 
		 * @param func(val:MovieClip):void 处理函数
		 * @param pList:Array 随函数传递的参数
		 */		
		function getItemForEach(func:Function,pList:Array = null):void;
		
		/**
		 * 为控件中的每个显示单元添加事件 
		 * @param type		事件类型
		 * @param listener	处理函数
		 * 
		 */		
		function addItemsEvent(type:String,listener:Function):void;
		
		/**
		 * 为控件中的每个显示单元删除某一事件 
		 * @param type		事件类型
		 * @param listener	处理函数
		 * 
		 */		
		function removeItemsEvent(type:String,listener:Function):void;
		
		/**
		 * 删除当前控件上的所以显示单元和上面的事件，并将行列值回到默认0；
		 * 
		 */		
		function remove():void;
	}
}